Creé un repositorio con un servidor web basado en Node.js y uno basado en Rocket.rs dentro.
Considere estos pasos:
cargo run --releasenode server.jsTambién observé algo similar con actix-web, aunque en menor medida: en ese caso, solo obtengo el retraso de ~ 300 ms si no he actualizado la pestaña durante unos 5 segundos. Si sigo actualizándolo, las solicitudes terminan en menos de 5 ms.
Curiosamente, el retraso parece no ocurrir si mido a través de curl como este y este . Obtengo alrededor de 4ms de latencia con ambos servidores.
Noté que Rocket y actix-web no envían encabezados Keep-Alive en su respuesta. Lo cual, si lo entiendo correctamente, no debería importar para las solicitudes HTTP 1.1.
Estoy usando WSL 2 con Ubuntu instalado. Chrome se está ejecutando en el host de Windows.
¿Podría alguien arrojar algo de luz sobre lo que está pasando aquí?
Actualización: olvidé mencionar que estaba usando el compilador nocturno para construir el servidor Rocket (Rocket v0.4.6 parece requerirlo). Cambiar a estable y construir directamente desde la rama maestra eliminó el retraso. Sin embargo, el retraso de actix-web sigue siendo un poco preocupante, porque usé un compilador estable con ese.
Al ejecutar todo desde Windows, en el nodo, el tiempo de respuesta es de alrededor de 2 a 2-4 ms , y en Rocket, de 1 a 1-2 ms . Algo extraño sucede en tu entorno.
También probé servir desde WSL y los mismos resultados.
Incluso en la depuración (óxido) tarda en promedio +1ms más que en el lanzamiento, podría ser un problema extraño del navegador.